/*
 * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
 * Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
 */
package com.yxw.live_vod_facade.enums;

import lombok.Getter;

/**
 * 消息模板枚举，用于确定场景
 * @author lx
 * 2023.12.06
 */
public enum NoticeTypeEnum {


    /**
     * 审核通知
     */
    VOD_REFUSE("APPROVE_NOTICE","VOD_REFUSE","审核通知:作品审核拒绝"),
    VOD_PASS_THROUGH("APPROVE_NOTICE","VOD_PASS_THROUGH","审核通知:作品审核通过"),
    HOME_PAGE_UPDATE("APPROVE_NOTICE","HOME_PAGE_UPDATE","审核通知:主页信息修改"),
    HOME_PAGE_UPDATE_PASS("APPROVE_NOTICE","HOME_PAGE_UPDATE_PASS","审核通知:主页信息审核通过"),
    HOME_PAGE_UPDATE_REFSE("APPROVE_NOTICE","HOME_PAGE_UPDATE_REFSE","审核通知:主页信息审核拒绝"),
    VOD_OFF_SHELf("APPROVE_NOTICE","VOD_OFF_SHELf","审核通知:作品下架"),

    /**
     * 订单通知
     */
    ORDER_SUCCESS("ORDER_NOTICE","ORDER_SUCCESS","订单通知:下单成功"),
    REFUND_SUCCESS("ORDER_NOTICE","REFUND_SUCCESS","订单通知:退款成功"),
    ORDER_CANCEL("ORDER_NOTICE","ORDER_CANCEL","订单通知:订单取消"),
    ORDER_NOT_PAY("ORDER_NOTICE","ORDER_NOT_PAY","订单通知:订单未付款,已取消订单"),
    USE_SUCCESS("ORDER_NOTICE","USE_SUCCESS","订单通知:消费成功"),

    /**
     * 直播通知
     */
    USER_REPORT("LIVE_NOTICE","USER_REPORT","直播通知:用户提交举报"),
    USER_REPORT_RESULT("LIVE_NOTICE","USER_REPORT_RESULT","直播通知:举报处理结果"),
    SHOP_APPEAL("LIVE_NOTICE","SHOP_APPEAL","直播通知:店铺提交申诉申请"),
    SHOP_APPEAL_RESULT("LIVE_NOTICE","SHOP_APPEAL_RESULT","直播通知:店铺申诉处理结果"),
    LIVE_CHARGING_CHANGE("LIVE_NOTICE","LIVE_CHARGING_CHANGE","直播通知:直播时长计费修改"),
    LIVE_CHARGING_COUNT("LIVE_NOTICE","LIVE_CHARGING_COUNT","直播通知:直播结束费用合计"),

    /**
     * 违规通知
     */
    VIOLATION_PUNISH("VIOLATION_NOTICE","VIOLATION_PUNISH","违规通知:违规处罚"),
    LIVE_INTERRUPT("VIOLATION_NOTICE","LIVE_INTERRUPT","违规通知:中断直播"),
    LIVE_DISABLE("VIOLATION_NOTICE","LIVE_DISABLE","违规通知:禁用直播间");

    NoticeTypeEnum(String noticeTypeCode, String useTypeCode, String remark) {
        this.noticeTypeCode = noticeTypeCode;
        this.useTypeCode = useTypeCode;
        this.remark = remark;
    }

    /**
     * 通知类型编码
     */
    @Getter
    private String noticeTypeCode;

    /**
     * 触发条件编码
     */
    @Getter
    private String useTypeCode;

    /**
     * 描述
     */
    @Getter
    private String remark;

}
